package com.wl.servlets;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
/*
会话跟踪技术
    - 客户端第一次发请求给服务器 服务器获取session 获取不到 则创建新的 然后响应给客户端
    - 下次客户端给服务器发请求时，会将session带给服务器 那么服务器就可以获取到 就可以区分客户端
        常用api
           request.getSession()  获取session 如果没有 则创建一个
           request.getSession(true)  获取session 如果没有 则创建一个
           request.getSession(false) 获取session 没有返回null 不会创建新的

           session.getId() 获取sessionID
           session.isNew() 判断是否是新的session
           session.getMaxInactiveInterval() session非激活间隔时长 默认1800秒
           session.setMaxInactiveInterval() 设置session非激活间隔时长
           session.invalidate() 强制让会话立即失效

    - session保存作用域
        session.setAttribute("name", "wanglei") 向当前session保存作用域保存一个数据
        session.getAttribute("name") 获取保存作用域指定key对应的value
 */
public class SessionServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 获取session 如果没有 则创建一个
        HttpSession session = req.getSession();

        System.out.println("session Id = " + session.getId());
    }
}
